1793C - Dora and Search - CodeForces Solution


constructive algorithms data structures two pointers *1200

Please click on ads to support us..

C++ Code:

// Problem: C. Dora and Search
// Contest: Codeforces - Codeforces Round #852 (Div. 2)
// URL: https://codeforces.com/contest/1793/problem/C
// Memory Limit: 256 MB
// Time Limit: 1000 ms
// 
// Powered by CP Editor (https://cpeditor.org)

#include<bits/stdc++.h>
using namespace std;

#define int long long
#define ll long long
#define pb push_back
#define vi vector<int>
#define pii pair<int, int>
#define pll pair<long long, long long>
mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());
 
int getRand(int l, int r)
{
    uniform_int_distribution<int> uid(l, r);
    return uid(rng);
}
 
const int p = 1e9 + 7;
const int lim = 2e5+5;
 

     
void solve(){
     int n;
     cin>>n;
     int a[n];
     int mn=1,mx=n;
     for(int i=0;i<n;i++){
     	cin>>a[i];
     }
     int p=0;
     int l=0,r=n-1;
    while(l<r){
    	if(a[l]!=mn&&a[l]!=mx&&a[r]!=mn&&a[r]!=mx){p=1;cout<<l+1<<" "<<r+1<<endl;break;}
    	if(a[l]==mn){mn++;l++;}
    	else if(a[l]==mx){mx--;l++;}
    	if(a[r]==mn){mn++;r--;}
    	else if(a[r]==mx){mx--;r--;}
    	
    }
    if(p==0)cout<<-1<<endl;;
    
}
 
int32_t main()
{
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);cout.tie(NULL);
int t;
cin>>t;
while(t--){
    solve();}

	
	
}


Comments

Submit
0 Comments
More Questions

1091A - New Year and the Christmas Ornament
1352B - Same Parity Summands
1102A - Integer Sequence Dividing
630B - Moore's Law
1004A - Sonya and Hotels
1680B - Robots
1690A - Print a Pedestal (Codeforces logo)
1295A - Display The Number
1077A - Frog Jumping
1714G - Path Prefixes
1369C - RationalLee
289B - Polo the Penguin and Matrix
1716A - 2-3 Moves
1670B - Dorms War
1716B - Permutation Chain
987A - Infinity Gauntlet
1676G - White-Black Balanced Subtrees
1716D - Chip Move
1352F - Binary String Reconstruction
1487B - Cat Cycle
1679C - Rooks Defenders
56A - Bar
1694B - Paranoid String
35A - Shell Game
1684A - Digit Minimization
43B - Letter
1017A - The Rank
1698B - Rising Sand
235A - LCM Challenge
1075B - Taxi drivers and Lyft